<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        'use strict';
        // 使用严格模式 必须放在第一行
        // js弱类型的 脚本解释型语言

        // 宽松模式   允许 形参名字一样
        // function test1(num1,num1){
        //     return  num1+num1;
        // }

        // console.log(test1(10,20)); //40 因为 num1后边替换了前面
        // 允许 不声明  直接用
        // num1 = 10;
        // console.log(num1)

        // 宽松模式 普通函数内的this 代表window
        // function test2(){
        //     alert(this);  // this代表window
        // }

        // test2()


        // 严格模式 形参 不允许相同  
        // function test1(num1, num1) {
        //     return num1 + num1;
        // }

        // console.log(test1(10, 20)); //40 因为 num1后边替换了前面 


        // num1 = 10;  //num1 不是var  num1 这种方式声明的  所以严格模式直接报错
        // console.log(num1);

        // var num1 = 10;
        // console.log(num1);

        // function test2(){
        //     alert(this); // 严格模式 this 代表的是undefined   
        // }

        // test2()
    </script>
</body>

</html>